File: /var/www/html/owlcrm/app/Http/Controllers/admin/SubscriptionController.php
<?php
namespace App\Http\Controllers\admin;
use App\Http\Controllers\Controller;
use App\Models\SubscriptionInquiry;
use App\Models\SubscriptionPlan;
use App\Models\User;
use App\Models\UserSubscription;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use PhpParser\Node\Expr\FuncCall;
class SubscriptionController extends Controller
{
public function show_subscriptions(){
$user = Auth::user();
$userId = $user->id;
$activeSubscription = UserSubscription::with('subscriptionPlan')->where('user_id', $userId)
->where('status', UserSubscription::Active)
->first();
return view('admin.subscription.index',compact('activeSubscription'));
}
public function cancelSubscription(Request $request) {
$user = Auth::user();
$activeSubscription = UserSubscription::where('user_id', $user->id)
->where('status', UserSubscription::Active)
->first();
if ($activeSubscription) {
$activeSubscription->update(['status' => UserSubscription::Inactive]);
return response()->json(['success' => true, 'message' => 'Subscription canceled successfully.']);
}
return response()->json(['success' => false, 'message' => 'No active subscription found.'], 400);
}
public function store(Request $request){
$request->validate([
'first_name' => 'required|string|max:255',
'last_name' => 'required|string|max:255',
'email' => 'required|email|unique:subscription_inquiries,email', // fixed table name
'phone' => 'required|digits_between:8,20',
'description'=> 'required|nullable|string',
]);
SubscriptionInquiry::create($request->all());
return redirect()->back()->with('success', 'Your inquiry has been submitted!');
}
}